import 'dart:io';
import 'package:cbec_app/utils/Tools.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

import '../../../utils/AppData.dart';

class WithdrawConsentPrivacyPolicy extends StatelessWidget {
  // 页面构造函数
  const WithdrawConsentPrivacyPolicy({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text(
          '撤回同意隐私政策',
          style: TextStyle(fontSize: 14, fontWeight: FontWeight.w500),
        ), // 设置页面标题
        centerTitle: true, // 标题居中显示
        backgroundColor: Colors.white, // 设置导航栏背景色为白色
        elevation: 0, // 去掉阴影
        leading: IconButton(
          icon: const Icon(Icons.arrow_back_ios), // 自定义返回按钮图标
          onPressed: () {
            Navigator.of(context).pop();
          },
        ),
      ),
      body: Padding(
        padding: const EdgeInsets.all(16.0), // 页面内部填充
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            const Text(
              '如果您撤回对百大易购隐私政策的同意，我们将会停止收集您的个人信息并按照法律规定删除该应用收集的个人信息，但其他法律法规对个人信息保存期限有明确规定的信息除外。\n因为百大易购服务的提供依赖必要的个人信息的收集如您同意撤回，则视为您不同意我们继续向您提供百大易购服务，是否撤回同意?',
              style: TextStyle(fontSize: 14, fontWeight: FontWeight.w500),
            ),
            const SizedBox(height: 20),
            Row(
              mainAxisAlignment: MainAxisAlignment.spaceBetween,
              children: [
                Expanded(
                  child: TextButton(
                    onPressed: () {
                      showExitDialog(context);
                    },
                    style: TextButton.styleFrom(
                      foregroundColor: Colors.white, backgroundColor: Colors.red, // 白色字体
                      padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 20), // 按钮内边距
                      shape: const RoundedRectangleBorder(), // 去掉圆角
                    ),
                    child: const Text('确定撤回'),
                  ),
                ),

                const SizedBox(width: 5), // 按钮间隔

                // 有边框，红色字体按钮
                Expanded(
                  child: TextButton(
                    onPressed: () {
                      Navigator.of(context).pop();
                    },
                    style: TextButton.styleFrom(
                      foregroundColor: Colors.red, padding: const EdgeInsets.symmetric(vertical: 10, horizontal: 20), // 按钮内边距
                      side: const BorderSide(color: Colors.red), // 红色边框
                      shape: RoundedRectangleBorder(
                        borderRadius: BorderRadius.circular(5), // 设置圆角
                      ),
                    ),
                    child: const Text('取消'),
                  ),
                ),
              ],
            )
          ],
        ),
      ),
    );
  }

  void showExitDialog(BuildContext context) {
    showCupertinoDialog(
      context: context,
      builder: (context) => CupertinoAlertDialog(
        title: const Text('撤销同意隐私协议'),
        content: const Text('是否退出应用?'),
        actions: <Widget>[
          TextButton(
            onPressed: () {
              Navigator.of(context).pop(); // 关闭对话框
            },
            child: const Text('取消'),
          ),
          TextButton(
            onPressed: () {
              Navigator.of(context).pop(); // 关闭对话框
              AppData.isHaveAgree = false;
              AppData.sid = AppData.sid;
              AppData.uid = '';
              AppData.tokenName = '';
              AppData.tokenValue = '';
              AppData.avatar = "default_avatar.png";
              AppData.nickname = "请登录";
              AppData.phoneNumber = "";
              AppData.isLogin = false;
              delayedExit(); // 退出应用
            },
            child: const Text('确定'),
          ),
        ],
      ),
    );
  }

  Future<void> delayedExit() async {
    Tools.showLoading();
    await Future.delayed(const Duration(seconds: 1, milliseconds: 500)); // 延迟1.5秒
    Tools.hideLoading();
    exit(0); // 退出应用
  }
}
